1. Field of the Invention
This invention relates to electronic circuits and in particular to an electronic circuit which at the option of the user will function as a register, a latch, or a scan path circuit depending upon control signals supplied thereto.
2. Description of the Prior Art
Individual circuits for providing latches are well known. In a conventional latch, data present at an input terminal is "latched" onto an output terminal at the time a control signal changes state. The data latched onto the output terminal remains there for as long as the control signal remains in that state, regardless of whether new data are presented to the input terminal. A typical application for a latch is "debouncing" switch signals in which an output signal is latched onto an output terminal after transients dissipate from a sensing node.
Also well known are circuits for flip-flops. In a flip-flop the circuitry is capable of being in one of two stable states which may be used to represent a stored 0 or 1, respectively. In a D-type flip-flop, the output Q after a clock pulse is equal to the input D before the pulse. Thus, a D-type flip-flop is a binary device used to provide a one-bit delay. Flip-flops find wide application as registers in digital circuits.
Circuits for providing elements for scan paths are also well known. A scan path allows a sequence of storage elements individually coupled to other data processing elements to be individually accessed and tested. Using a scan path in conjunction with other processing circuitry enables a high degree of testability of that circuitry. For example, in circuits with scan path elements, if the circuitry is disabled and the scan path enabled, desired data may be scanned into various locations in the processing circuitry. Then the scan path is disabled and the processing circuitry enabled for one or more cycles. The processing circuitry then may be disabled and the scan path reenabled to scan out the data produced by the cycle(s) of operation of the processing circuitry to verify the correctness of the processing operation performed. This procedure may be repeated as necessary to provide a complete test of every processing element to which a scan path element is coupled.
Although individual ones of the above-described circuits are available to integrated circuit users, devices have not been available which enable a user to of a single part to select the particular functionality desired. Furthermore, the absence of this capability has made it necessary for manufacturers of the devices to manufacture separate devices for different users, as opposed to a universal device capable of performing these functions. For example, a supercomputer manufacturer might require a particular part incorporating latches while a minicomputer manufacturer might require the same part with registers. Thus, the manufacturer of the integrated circuit must fabricate and inventory both parts. This has resulted in higher cost and lower availability for the parts in question.